Amazon QuickSight 垂直積み上げ棒グラフでしきい値を超えた棒グラフをハイライトする方法
Amazon QuickSight でデータを可視化する際、特定のしきい値を超えた部分を強調表示したいケースがあります。本記事では、垂直積み上げ棒グラフで以下のような表現を実現する方法を紹介します。
以下の GIF は今回の成果物の動作を示しています。今回紹介する方法はユーザーがパラメータを使ってしきい値を動的に調整できるようにします。
主要な設定ポイント
QuickSight でしきい値を超えた棒グラフをハイライトする際の設定箇所は以下の 2 つです。
1. 参照線(しきい値の線)の設定
- 参照線にパラメータを直接指定できないため、計算フィールドにパラメータを代入する
- その計算フィールドを参照線として利用する
2. ハイライト方法
- 棒グラフの色分けのために、しきい値以上か以下かを判定する計算フィールドを作成する
- その計算フィールドをグラフのグループ/色に追加する
実装方法
本記事の実装方法は、以下の QuickSight ワークショップを参考にしています。
ワークショップのサンプルデータセットは複雑な内容でした。そのため、本記事ではシンプルなデータ(網走市の人口)を使用し、必要な設定要素のみを解説します。
参照線(しきい値)用のパラメータの作成
垂直積み上げ棒グラフの参照線(今回はしきい値として利用)は、固定値の入力か計算フィールドの指定のみに対応しています。パラメータの値を直接参照できません。
この制限に対処するため以下の手順で回避します。
- しきい値を設定するためのパラメータ(今回の例では FilterPopulation)を作成する
- そのパラメータ値をそのまま返す計算フィールドを作成する
これにより、パラメータの値を参照線で使用できるようになります。
参照線の設定
垂直積み上げ棒グラフに参照線を追加する手順は以下の通りです。
- グラフのプロパティから参照線を追加する
- タイプは「算出された行」を選択する
- 先ほど作成したパラメータ値を返す計算フィールドを指定する
これで、コントロールからパラメータの値を変更すると、参照線(しきい値)の位置が動的に変更されるようになりました。
次に、この参照線に基づいてグラフの色を変化させる方法を説明します。
グラフの色を変化させるための計算フィールドの作成
グラフの色を変化させるために新たな計算フィールドを作成します。この計算フィールドは以下の比較をします。
- 参照線(しきい値)のパラメータ値
- 棒グラフの Y 軸の値
比較にはifelse
文を使用し、値がしきい値以上かどうかを判定します。
凡例が不要なときは非表示にして見た目をスッキリさせるのも良いアイディアです。今回の様な表示であれば凡例がなくて意味は伝わると思うので私は非表示にしたい派です。
グラフに色分けを設定
グラフに色分けを適用するには、以下の手順を実行します。
- グラフの「グループ/色」セクションに、しきい値を判定する計算フィールドを追加する
ハイライトカラーの変更
グラフの色をカスタマイズするには、凡例に表示される名前を右クリックし、表示されるメニューから色を選択できます。
今回の例では、参照線を超えた場合は青色、下回った場合は灰色に設定しています。
完成
以上の設定により、以下の機能を持つ垂直積み上げ棒グラフが完成しました。
- パラメータ変更による参照線(しきい値)の動的調整
- しきい値に基づく Y 軸グラフの色の自動変更
下記の GIF では、指定した人口数以上の地域が青色でハイライトされる様子が確認できます。
まとめ
Amazon QuickSight の垂直積み上げ棒グラフでしきい値を超えた部分をハイライトする主要なポイントは以下の通りです。
- 動的なしきい値の設定のために、パラメータを計算フィールドに代入する
- データ判定の計算フィールドを作成し、グラフの色分け(ハイライト)表示を実現する
これでデータの重要な部分をハイライトを実現できます。
おわりに
QuickSight を 2 年間使用してきましたが、棒グラフへのハイライト機能の実装方法をやっと知りました。この記事が同様の課題で悩んでいた方の助けとなれば幸いです。ハイライトの判定は計算フィールドで行うため、最も数値が高い棒グラフをハイライト表示するなど応用できそうです。